MCP 문서 관리

메뉴

문서 정보

최종 수정일:
2025-05-13 10:56

E2B

E2B

E2B MCP 서버는 AI 에이전트가 보안 샌드박스 환경에서 코드를 실행할 수 있게 해주는 도구입니다. E2B의 클라우드 기반 격리 환경에서 AI가 생성한 코드를 안전하게 실행하고, 결과를 가져올 수 있어 코드 해석 및 실행 기능을 AI 애플리케이션에 쉽게 추가할 수 있습니다.

특징

  • 보안 샌드박스 실행: 코드를 E2B의 격리된 클라우드 환경에서 안전하게 실행
  • 다양한 언어 지원: JavaScript, Python 등 다양한 프로그래밍 언어 지원
  • 빠른 시작 시간: 약 150ms 내에 샌드박스 환경 시작 가능
  • 파일 시스템 지원: 샌드박스 내에서 파일 생성, 읽기, 쓰기, 삭제 기능 제공
  • 패키지 설치: 필요한 서드파티 패키지를 샌드박스에 설치 가능
  • 데이터 지속성: 샌드박스 일시 중지 및 재개를 통한 데이터 지속성 지원
  • 터미널 명령 실행: 샌드박스 내에서 터미널 명령 및 프로세스 실행 가능

API

도구

코드 실행 도구

  • run_code: 코드를 실행하고 결과를 반환합니다.
  • 입력:
    • code (문자열): 실행할 코드
    • language (문자열, 선택적): 코드 언어(기본값: 'python')
  • 출력:

    • text (문자열): 실행 결과 텍스트
    • error (문자열): 오류 메시지(오류 발생 시)
  • install_package: 샌드박스에 패키지를 설치합니다.

  • 입력:
    • package_name (문자열): 설치할 패키지 이름
    • version (문자열, 선택적): 패키지 버전
  • 출력:
    • success (불리언): 설치 성공 여부
    • message (문자열): 설치 상태 메시지

파일 관리 도구

  • create_file: 파일을 생성합니다.
  • 입력:
    • path (문자열): 파일 경로
    • content (문자열): 파일 내용
  • 출력:

    • success (불리언): 생성 성공 여부
    • message (문자열): 상태 메시지
  • read_file: 파일 내용을 읽습니다.

  • 입력:
    • path (문자열): 파일 경로
  • 출력:

    • content (문자열): 파일 내용
    • error (문자열): 오류 메시지(오류 발생 시)
  • write_file: 파일 내용을 씁니다.

  • 입력:
    • path (문자열): 파일 경로
    • content (문자열): 파일 내용
  • 출력:

    • success (불리언): 쓰기 성공 여부
    • message (문자열): 상태 메시지
  • delete_file: 파일을 삭제합니다.

  • 입력:
    • path (문자열): 파일 경로
  • 출력:
    • success (불리언): 삭제 성공 여부
    • message (문자열): 상태 메시지

터미널 도구

  • run_terminal_command: 터미널 명령을 실행합니다.
  • 입력:
    • command (문자열): 실행할 터미널 명령
  • 출력:
    • stdout (문자열): 표준 출력
    • stderr (문자열): 표준 오류
    • exitCode (정수): 종료 코드

샌드박스 관리 도구

  • create_sandbox: 새 샌드박스 환경을 생성합니다.
  • 입력: 없음
  • 출력:

    • sandbox_id (문자열): 생성된 샌드박스 ID
    • message (문자열): 생성 상태 메시지
  • pause_sandbox: 샌드박스를 일시 중지합니다.

  • 입력:
    • sandbox_id (문자열, 선택적): 일시 중지할 샌드박스 ID
  • 출력:

    • success (불리언): 일시 중지 성공 여부
    • message (문자열): 상태 메시지
  • resume_sandbox: 일시 중지된 샌드박스를 재개합니다.

  • 입력:
    • sandbox_id (문자열): 재개할 샌드박스 ID
  • 출력:
    • success (불리언): 재개 성공 여부
    • message (문자열): 상태 메시지

사용 방법

E2B MCP 서버를 사용하려면:

  1. E2B API 키 얻기:
  2. E2B 웹사이트(https://e2b.dev)에서 회원가입 후 API 키를 발급받습니다.

  3. Smithery CLI를 통한 설치(권장):

    npx @smithery/cli install e2b --client claude

  4. NPX를 통한 직접 실행:

    npx -y @e2b/mcp-server

  5. Claude Desktop 구성 파일 직접 수정:

    {
      "mcpServers": {
        "e2b-server": {
          "command": "npx",
          "args": ["-y", "@e2b/mcp-server"],
          "env": {
            "E2B_API_KEY": "your_e2b_api_key_here"
          }
        }
      }
    }

사용 사례

E2B MCP 서버는 다음과 같은 시나리오에서 특히 유용합니다:

  1. AI 코드 테스트 및 디버깅: AI가 생성한 코드를 즉시 샌드박스에서 실행하여 결과를 확인하고 문제를 해결할 수 있습니다.

  2. 데이터 분석 및 시각화: 데이터세트를 분석하고 Python 라이브러리를 사용하여 시각화를 생성할 수 있습니다.

  3. 인터랙티브 학습: 코딩을 배우는 학생들에게 실시간 코드 실행 환경을 제공할 수 있습니다.

  4. 프로토타이핑: 새로운 아이디어를 빠르게 코드로 구현하고 테스트할 수 있습니다.

  5. AI 에이전트 개발: 코드를 작성하고 실행할 수 있는 AI 에이전트를 개발할 수 있습니다.

  6. 코드 평가: AI가 생성한 코드의 품질과 성능을 평가할 수 있습니다.

확장성

E2B MCP 서버는 모듈식 아키텍처를 가지고 있어 새로운 코드 인터프리터를 추가할 수 있습니다:

  1. 새 인터프리터를 구현하려면 CodeInterpreterFileInterface 인터페이스를 구현해야 합니다.

  2. 인터프리터 팩토리에 새 인터프리터를 등록합니다.

  3. 환경 변수를 통해 사용할 인터프리터 유형을 지정할 수 있습니다:

    INTERPRETER_TYPE=my_interpreter

보안 고려사항

E2B MCP 서버는 코드 실행을 위한 격리된 환경을 제공하지만, 다음 보안 사항을 고려해야 합니다:

  1. API 키 보호: E2B API 키는 보안 정보이므로 안전하게 보관하고 코드에 하드코딩하지 않아야 합니다.

  2. 리소스 제한: 샌드박스 환경은 리소스가 제한되어 있으므로, 대규모 연산이나 무한 루프를 피해야 합니다.

  3. 민감한 데이터: 샌드박스에서 실행되는 코드에 민감한 데이터를 포함하지 않도록 주의해야 합니다.

  4. 네트워크 액세스: 샌드박스 환경에서 네트워크 요청이 가능할 수 있으므로 필요한 경우 네트워크 액세스를 제한해야 합니다.

연결된 구성 요소

  • OpenAPI - API 호출을 통합하여 더 복잡한 워크플로우 구축 가능
  • GitHub - GitHub 저장소와 연동하여 코드 관리 및 협업 강화